package com.lt.lumentracks.service;

import com.lt.lumentracks.entity.po.Follow;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lt.lumentracks.entity.vo.common.PageVO;
import com.lt.lumentracks.entity.vo.common.Result;
import com.lt.lumentracks.entity.vo.user.UserVO_follow;

/**
 * <p>
 * 关注表 服务类
 * </p>
 *
 * @author swl
 * @since 2025-09-03
 */
public interface IFollowService extends IService<Follow> {

    // 关注或取关
    Result<Void> follow(Integer userId, Integer followUserId, Boolean isFollow);

    // 查询是否关注了某用户
    Result<Boolean> isFollow(Integer userId, Integer followUserId);

    // 获取关注列表
    PageVO<UserVO_follow> getFollows(Integer userId, Integer pageNum, Integer pageSize);

    // 根据用户名字模糊查询我的关注
    PageVO<UserVO_follow> getFollowsByName(Integer userId, String followName, Integer pageNum, Integer pageSize);

    // 获取粉丝列表
    PageVO<UserVO_follow> getFans(Integer userId, Integer pageNum, Integer pageSize);

}
